package com.cskaoyan._14access._04usecase.singleton;

/**
 * @description:
 * @author: 景天
 * @date: 2023/2/7 16:20
 **/
/*
什么是单例设计模式?
单例设计模式是一种应用程序维护实例(对象)的方式,
单例即1个, 应用程序中只有1个唯一的实例对象.(全局共享的)

应用场景:
    1.回收站
    2.统计用户访问量,计数器(单例)

怎么实现单例设计模式?
- 构造方法私有
- 提供一个自身的全局的静态成员变量
- 提供一个public的静态方法,给外部访问

- 懒汉模式(懒加载)
  - 懒汉指的是用到的时候才去创建对象
- 饿汉模式(立即加载)
  - 饿汉指的是不管用不用, 先去把对象创建好

 */
public class Demo {
    public static void main(String[] args) throws InterruptedException {

        //new Thread(()->{
        //    Singleton instance1 = Singleton.getInstance();
        //    System.out.println(instance1);
        //}).start();
        //
        //new Thread(()->{
        //    Singleton instance2 = Singleton.getInstance();
        //    System.out.println(instance2);
        //}).start();

        Singleton2 instance = Singleton2.getInstance();
        System.out.println(instance);
        Singleton2 instance2 = Singleton2.getInstance();
        System.out.println(instance2);
    }
}
